<html>
    <head>
        <title>What's new?</title>
    </head>
    <body>
<p>Release Notes (2012-11-20)</p>
<h2 class="title">General Information</h2>
<p><strong>A new version 2.4.1 of SharpDX is available today for download.</strong></p>
<p>This version is a maintenance version, mainly fixing several issues and improving the SharpDX Toolkit.</p>
        <p>PrimitiveBatch from DirectXTk has been ported to the Toolkit. Also, there is a new convenient method to draw a full screen quad using GraphicsDevice.DrawQuad. See details about changes in the Toolkit below.</p>
        <p>Note about using the Toolkit effect compiler (tkfx.exe): You can use either the version from:</p>
        <ul>
            <li>The directory Bin\Net40Release if you have DirectX End-User Runtime June 2010 installed. </li>
            <li>Or you can use directly Bin\Win8Desktop-net40 which is shipped with D3DCompiler_46.dll</li>
            <li>Both versions can compiled shaders for all Windows (from Desktop, Windows RT and Windows Phone 8, except if you are using latest D3D11.1 features which are only available using d3dcompiler_46.dll)</li>
        </ul>
        <p>As It was explained in a <a href="http://sharpdx.org/news/changes-support-community">previous post</a>, SharpDX is now accepting code contribution from the community. This release is integrating contributions from early contributors to SharpDX on github!</p>
        <p>Concerning the support, I&#39;m focusing my primary support for the core functions of the following API:</p>
        <ul>
            <li>Direct3D11 (not Effect11 framework), DXGI, D3DCompiler, XAudio2 and Audio part of MediaFoundation.</li>
            <li>The toolkit, the Toolkit.Graphics and compiler. The Toolkit.Game assembly has a lower priority (for non desktop platforms).</li>
        </ul>
        <p>For other API, I strongly encourage the community to participate to fix bugs and/or add improvements, as they have a lower priority support now in SharpDX.</p>
        <p>Concerning the forum, my personnal investement to respond to API usage has now a much lower priority, as explained in the &quot;Changes in Support and Community&quot; post.</p>
        <p>Also, as indicated on the contact form, I will not respond to any private inquiry about SharpDX bug notice or API usage. </p>
<h2 class="title">Changes and bugfixes</h2>
<p>Please find below an auto-generated list of all changes and fixes from previous 2.3 version.</p>
<h4>Code contributed by SharpDX Community</h4>
<ul>
  <li>Added missing XAudio interop methods for WP8. (<a href='http://code.google.com/p/sharpdx/source/detail?r=6859ba79104bf387fe03f85a5673eaf9841d00fd' target='_blank'>changes</a>, <a href='http://code.google.com/p/sharpdx/source/detail?r=d2e18af50da40f447f5725834efbd0d1351ac3b5' target='_blank'>changes</a>)</li>
  <li>Fix for Incorrect SetPixel and SetVertexShaderConstant (F and I arrays) where count were incorrectly *4 (<a href='http://code.google.com/p/sharpdx/source/detail?r=8e3738e8069f2f77580f2eb80af51c4cca9a9d1e' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=305' target='_blank'>issue #305</a>.[DX11] Missing functions in Direct3D11.EffectPass (<a href='http://code.google.com/p/sharpdx/source/detail?r=21e112a6d9d8e0d2abe91571288f3b5f2b55f6e5' target='_blank'>changes</a>, <a href='http://code.google.com/p/sharpdx/source/detail?r=52f6b8388ca3490aac16f5406dd4d4ba0334b24a' target='_blank'>changes</a>)</li>
  <li>Fixed IDrawingSurfaceBackgroundContentProviderNative.PrepareResources to properly support desiredRenderTargetSize as an in/out var. (<a href='http://code.google.com/p/sharpdx/source/detail?r=bdcbff36b74a16de78e620596f031476bb4c8c4a' target='_blank'>changes</a>)</li>
  <li>Merge branch &apos;master&apos; into wp8 (<a href='http://code.google.com/p/sharpdx/source/detail?r=a090efb68dac9fc4e2b86d66a27fca5dee78ce33' target='_blank'>changes</a>)</li>
  <li>Merge pull request #1 from jbriguet/master (<a href='http://code.google.com/p/sharpdx/source/detail?r=d5e481480b2818d3952aeebd5ca847681774caa4' target='_blank'>changes</a>)</li>
  <li>Merge remote-tracking branch &apos;origin/master&apos; (<a href='http://code.google.com/p/sharpdx/source/detail?r=d99d714056fac1a1efd2db525740fdb1e692f963' target='_blank'>changes</a>)</li>
  <li>Updated fix for SetVertexShaderConstant (<a href='http://code.google.com/p/sharpdx/source/detail?r=10a97ff6a034fa7efda1252d2933cd5453dfa787' target='_blank'>changes</a>)</li>
    <li>Added ColorConverter &amp; Color4Converter (<a href='http://code.google.com/p/sharpdx/source/detail?r=72d55ba9fe89777a4fe30a84a9e359a4aca42f47' target='_blank'>changes</a>)</li>
    <li>Added SourceType VideoCaptureGuid and AudioCaptureGuid in SharpDX.MediaFoundation.CaptureDeviceAttributeKeys (<a href='http://code.google.com/p/sharpdx/source/detail?r=bf4812138d402354b56ea123cffd1ebdee1e3e2d' target='_blank'>changes</a>)</li>
    <li>Fix mapping in MediaFoundation for various functions by using mf.dll (<a href='http://code.google.com/p/sharpdx/source/detail?r=112614d609eb4ded3daa86b7e770970a8da40bf7' target='_blank'>changes</a>)</li>
</ul>
<h4>Build</h4>
<ul>
  <li>Remove ProjectTypeGuids on SharpDX project, as it is conflicting when WP8 SDK is not installed. (<a href='http://code.google.com/p/sharpdx/source/detail?r=24e61461d0a7b373ed5488f76442db4fca4b3916' target='_blank'>changes</a>)</li>
  <li>Update README.markdown for github (<a href='http://code.google.com/p/sharpdx/source/detail?r=59360707f6ea0241fa59057edcda0210ca16cf1e' target='_blank'>changes</a>)</li>
</ul>
        <h4>SharpDoc</h4>
<ul>
  <li>Remove assembly documentation in order to support same namespace declared in different assemblies. Now, namespaces are the top level topic item in the class library reference. (<a href='http://code.google.com/p/sharpdx/source/detail?r=36c78c1070c29f8a819bc7df648edfadabfde2ac' target='_blank'>changes</a>)</li>
</ul>
<h4>SharpDX</h4>
<ul>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=282' target='_blank'>issue #282</a>. Matrix3x2.TransformationPoint was not valid. (<a href='http://code.google.com/p/sharpdx/source/detail?r=f9967c1fcf8d3a260e88b1a1e88b042e2c01416e' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=283' target='_blank'>issue #283</a>. Add new wrap methods to MathUtil (<a href='http://code.google.com/p/sharpdx/source/detail?r=419e518e1808bb7aa6e7f617589efcf8a712d903' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=292' target='_blank'>issue #292</a>. A regression bug was introduced in RenderForm that was preventing anykind of interaction with it. This patch fix a code that went to git by mistake. (<a href='http://code.google.com/p/sharpdx/source/detail?r=9b4c0dba2d78ef188651b46c9d72fb0741545331' target='_blank'>changes</a>)</li>
</ul>
<h4>SharpGitLog</h4>
<ul>
  <li>Fix links (<a href='http://code.google.com/p/sharpdx/source/detail?r=443f4d61dafe2da24e2f3dcfc97b81e8f48fe9e1' target='_blank'>changes</a>)</li>
</ul>
<h4>Toolkit</h4>
<ul>
  <li>Add an exception to ContentManager.Load when there is no registered resolvers (<a href='http://code.google.com/p/sharpdx/source/detail?r=dc7ad8320226188561d61227d0879b60d18e1e1e' target='_blank'>changes</a>)</li>
</ul>
<h4>Toolkit.Compiler</h4>
<ul>
  <li>Add a check when missing a parenthesis, bracket, curly brace in FX file and generate a parsing error. (<a href='http://code.google.com/p/sharpdx/source/detail?r=91ce99434f51974b17949054d8c1a7d199675e6d' target='_blank'>changes</a>)</li>
</ul>
<h4>Toolkit.Game</h4>
<ul>
  <li>Add better support for PreferredGraphicsProfile in GraphicsDeviceManager (<a href='http://code.google.com/p/sharpdx/source/detail?r=42aa535080ebac49f80a09071d1c108cb4bb6fd5' target='_blank'>changes</a>)</li>
  <li>Add IContentable to allow a GameSystem to Load and Unload content as in the game class. Add Content and GraphicsDevice property directly to accessible to a GameSystem. (<a href='http://code.google.com/p/sharpdx/source/detail?r=d7846f795f5ba95974a6b9e20c5ca082c858b3d8' target='_blank'>changes</a>)</li>
  <li>Add support Activated, Deactivated and Exiting events for Desktop platform (they are not yet implemented for Windows RT and WP8) (<a href='http://code.google.com/p/sharpdx/source/detail?r=52bd1748a8d7759cb8f6812a05de2e7855516a33' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=281' target='_blank'>issue #281</a>. Game.IsMouseVisible is now working on Desktop (bis) (<a href='http://code.google.com/p/sharpdx/source/detail?r=c67b3063be97174570e5e85d97f99aa890dd46bd' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=281' target='_blank'>issue #281</a>. Game.IsMouseVisible is now working on Desktop. (<a href='http://code.google.com/p/sharpdx/source/detail?r=4769b4b6e837fb3c360381572a12ef4eeeaae5ba' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=291' target='_blank'>issue #291</a>. Allows PreferredBackBufferWidth / PreferredBackBufferHeight to be effectively used in non-fullscreen scenario. (<a href='http://code.google.com/p/sharpdx/source/detail?r=64974211c8af1fc51acc345a33f6efe1c1f0d635' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=309' target='_blank'>issue #309</a> crash on phone HW devices where the adapter is null because the attached adapter to the device is invalid (<a href='http://code.google.com/p/sharpdx/source/detail?r=ee72e682fcb8db5591f0ea1baa5bef2600b019ce' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=309' target='_blank'>issue #309</a>. Allow null value for GraphicsDeviceInformation.Adapter. (<a href='http://code.google.com/p/sharpdx/source/detail?r=04d28b077392eac82899466fef2160ed6f8c3408' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=310' target='_blank'>issue #310</a>. Private variable in game was not initialized. (<a href='http://code.google.com/p/sharpdx/source/detail?r=92c4033dbe783f51c3c39179a3135ed7fcd56200' target='_blank'>changes</a>)</li>
</ul>
<h4>Toolkit.Graphics</h4>
<ul>
  <li>Add BasicEffect.TextureView to allow ShaderResourceView instead of texture2D. Change BasicEffect.Texture to accept Texture2DBase (<a href='http://code.google.com/p/sharpdx/source/detail?r=4513200408a13f33c1e4d72784aec0b22f5627f2' target='_blank'>changes</a>)</li>
  <li>Add comments to PrimitiveBatch. Add automatic VertexInputLayout for vertices with known VertexElements. (<a href='http://code.google.com/p/sharpdx/source/detail?r=808f4aa1e7f22271e6b7b57c841b6ddb501dd87e' target='_blank'>changes</a>)</li>
  <li>Add comments to PrimitiveQuad / GraphicsDevice.DrawQuad (<a href='http://code.google.com/p/sharpdx/source/detail?r=f33aa7695c17e1cb83ef12f60d2f80beb969550c' target='_blank'>changes</a>)</li>
  <li>Add generic Texture.New method. Add equals/hashcode to TextureDescription (<a href='http://code.google.com/p/sharpdx/source/detail?r=5bda6a3bd3f3912e50040ea529383b955c63b471' target='_blank'>changes</a>)</li>
  <li>Add GraphicsDevice.Clear method similar to XNA (<a href='http://code.google.com/p/sharpdx/source/detail?r=6c0663a927c068ae6798a40d3b3a12ec2a92eece' target='_blank'>changes</a>)</li>
  <li>Add PrimitiveQuad and GraphicsDevice.DrawQuad for fullscreen quad primitive. Modify CustomEFfectContent sample to use the new DrawQuad method. (<a href='http://code.google.com/p/sharpdx/source/detail?r=00f9da11ed1eab972aba54afe1bfdb8645b9c28b' target='_blank'>changes</a>)</li>
  <li>Add test and TextureInfo comment to SpriteBatch. (<a href='http://code.google.com/p/sharpdx/source/detail?r=8de6613f99ec2fef557e28fb81547e74fecfc6c9' target='_blank'>changes</a>)</li>
  <li>Fix access to unordered access view on texture. (<a href='http://code.google.com/p/sharpdx/source/detail?r=e8406ba6fe6d72a2a16b716b9a21b8f7ee640523' target='_blank'>changes</a>)</li>
  <li>Fix bug in GraphicsDevice.SetVertexBuffers. Test that PrimitiveBatch is running fine. (<a href='http://code.google.com/p/sharpdx/source/detail?r=5881c9df1b03095d74bca3c3ee2a613ecd3b63cd' target='_blank'>changes</a>)</li>
  <li>Fix compiling error typo in SpriteBatch (<a href='http://code.google.com/p/sharpdx/source/detail?r=ae995e3bd20e416758c4aacdec99d7f26883d61d' target='_blank'>changes</a>)</li>
  <li>Fix GameWindow.AllowUserResizing (<a href='http://code.google.com/p/sharpdx/source/detail?r=8feff8334b06aadd7bdda91d5f380b3e3439ee18' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=284' target='_blank'>issue #284</a>. Sorting mode was not working on a particular SpriteBatch.Draw method. (<a href='http://code.google.com/p/sharpdx/source/detail?r=bdda7ecf2ab3fe0b6084a2f5f5334f057053e6f3' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=286' target='_blank'>issue #286</a>. SpriteBatch was not working with multiple instance. (<a href='http://code.google.com/p/sharpdx/source/detail?r=9de894068fb2e738245747112f1933421a104b7b' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=289' target='_blank'>issue #289</a>. Allows a pass to set a shader stage to null (<a href='http://code.google.com/p/sharpdx/source/detail?r=04fb4073fe5f239f1f80aa144f47260535f14883' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=296' target='_blank'>issue #296</a>. Severe bug in effect that was preventing Effect to work properly with resource to bind. (<a href='http://code.google.com/p/sharpdx/source/detail?r=90d7a86753edf9265d646043ef8f411395b033ef' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=301' target='_blank'>issue #301</a>. SpriteEffects.FlipXXX modes are now working correctly (<a href='http://code.google.com/p/sharpdx/source/detail?r=79406dfded21265833d076863f485c6f5af6af6b' target='_blank'>changes</a>)</li>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=304' target='_blank'>issue #304</a>. Add virtual to GameSystem.Initialize and fire events methods (<a href='http://code.google.com/p/sharpdx/source/detail?r=085b49bce54536e6181d2129c105e5b9f3f7aa4b' target='_blank'>changes</a>)</li>
  <li>Fix ordering of static/readonly members in SpriteBatch. Remove unused members. (<a href='http://code.google.com/p/sharpdx/source/detail?r=db967ea579ec6f5f59e3e076d73396f7ec81b67d' target='_blank'>changes</a>)</li>
  <li>Fix performance weird issue under x64 for SpriteBatch. Should now be on par with x86 (<a href='http://code.google.com/p/sharpdx/source/detail?r=c009957d1674e48259f75e042d75571a0a6fd5c5' target='_blank'>changes</a>)</li>
  <li>Initialzie the TextureSampler to use the default SamplerSate in BasicEffect in order to avoid invalid error messages when debugging the device (<a href='http://code.google.com/p/sharpdx/source/detail?r=241f29ee2ff6beaf9352097a07695572da5ebae5' target='_blank'>changes</a>)</li>
  <li>Modify SpriteBatch to allow ShaderResourceView instead of Texture2D, as it is much more versatile. (<a href='http://code.google.com/p/sharpdx/source/detail?r=4a51444a8a380d49ba6885b9bd511520a46ed15c' target='_blank'>changes</a>)</li>
  <li>Move test for CustomEffect.CurrentTechnique to a upper level in SpriteBatch (<a href='http://code.google.com/p/sharpdx/source/detail?r=b6f7d1f3df9701fa7a2c51c10f5b66d51e9db390' target='_blank'>changes</a>)</li>
  <li>Port PrimitiveBatch from DirectXTk. Not yet tested. (<a href='http://code.google.com/p/sharpdx/source/detail?r=4df6b998366ab2c3276727c8042af57b33deb69f' target='_blank'>changes</a>)</li>
  <li>Remove DeviceCreationFlags.Debug from CustomEffectGame sample (<a href='http://code.google.com/p/sharpdx/source/detail?r=7115f9f2e4af00383967548e650b69e7cdf49834' target='_blank'>changes</a>)</li>
  <li>Simplifies SpriteBatch immediate mode using same behavior as in DirectXTk (<a href='http://code.google.com/p/sharpdx/source/detail?r=2338f8ecacb69518aa27156e0ecee7f385b392e9' target='_blank'>changes</a>)</li>
  <li>Update GraphicsDevice.GetOrCreateSharedData&lt;T&gt; to accept &quot;object key&quot; instead of &quot;string key&quot;. (<a href='http://code.google.com/p/sharpdx/source/detail?r=10afe5035f787f3983ea633ba7d26edaf8b12d79' target='_blank'>changes</a>)</li>
</ul>
<h4>Toolkit.tkfxc</h4>
<ul>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=287' target='_blank'>issue #287</a>. Add Redist D3DCompiler_46.dll to the build. Update tkfxc to use a dynamic path to load d3dcompiler dll for Win8Desktop-net40 version. (<a href='http://code.google.com/p/sharpdx/source/detail?r=dcb52944943192f7c039fe0e173db69700b60ca5' target='_blank'>changes</a>)</li>
  <li>The command line compiler is now not compiling/writing the output if the input is not more recent (<a href='http://code.google.com/p/sharpdx/source/detail?r=3758e5974cd737eb1466fe6e36c8ac0b99b4cd03' target='_blank'>changes</a>)</li>
</ul>
<h4>XAudio2</h4>
<ul>
  <li>Fix <a href='http://code.google.com/p/sharpdx/issues/detail?id=299' target='_blank'>issue #299</a>. Add XAudio2 FX Reverb and VolumeMeter that were missing under DirectX11.1 (<a href='http://code.google.com/p/sharpdx/source/detail?r=b8a5d3443045ab859460f0e5dd242f18c53f7da6' target='_blank'>changes</a>)</li>
</ul>
    </body>
</html>
